package com.jic.order.service;

import com.alibaba.fastjson.JSONObject;
import com.jic.common.base.vo.Page;
import com.jic.common.base.vo.RestResult;
import com.jic.order.entity.OrderParent;
import com.jic.order.manage.request.OrderDistributionMemberRequest;
import com.jic.order.manage.request.OrderSaleReportRequest;
import com.jic.order.manage.response.OrderDistributionMembertResponse;
import com.jic.order.manage.response.OrderSaleReportResponse;
import com.jic.order.response.OrderAllAmountResponse;
import com.jic.common.base.vo.PageResult;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 订单父表
 *
 * @version : v1.0.0
 */
public interface OrderParentService {

    RestResult<List<OrderAllAmountResponse>> queryAllAmount(@Param("buyerList") List<Long> memberId);

    RestResult<Boolean> updateParentOrderStatus(String orderNo);

    RestResult<PageResult<OrderSaleReportResponse>> querySaleOrderReportPage(OrderSaleReportRequest orderSaleReportRequest);

    List<OrderParent> queryOrderInfoByBuyId(OrderParent orderParent);

    RestResult<PageResult<OrderDistributionMembertResponse>> queryOrderDistributionListPage(OrderDistributionMemberRequest request);

    RestResult<PageResult<OrderDistributionMembertResponse>> queryOrderDistributionInfoList(OrderDistributionMemberRequest request);

    JSONObject queryOrderParentByOrderNo(String parentOrderNo);

    long insert(OrderParent orderParent);

    long delete(Long id);

    long update(OrderParent orderParent);

    List<JSONObject> querySettList(JSONObject jsonObject);

    Long queryGoodByOrderNo(String orderParentNo);

    Integer updateSettlementStatus(JSONObject param);
}
